package com.bnz.manager.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 订单列表对象 tb_order
 * 
 * @author mch
 * @date 2022-12-30
 */
public class Order extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单id */
    private Long orderId;

    /** 实付金额。精确到2位小数;单位:元。如:200.07，表示:200元7分 */
    @Excel(name = "实付金额。精确到2位小数;单位:元。如:200.07，表示:200元7分")
    private BigDecimal payment;

    /** 支付类型，1、在线支付，2、货到付款 */
    @Excel(name = "支付类型，1、在线支付，2、货到付款")
    private String paymentType;

    /** 邮费。精确到2位小数;单位:元。如:200.07，表示:200元7分 */
    @Excel(name = "邮费。精确到2位小数;单位:元。如:200.07，表示:200元7分")
    private String postFee;

    /** 状态：1、未付款，2、已付款，3、未发货，4、已发货，5、交易成功，6、交易关闭,7、待评价 */
    @Excel(name = "状态：1、未付款，2、已付款，3、未发货，4、已发货，5、交易成功，6、交易关闭,7、待评价")
    private String status;

    /** 付款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "付款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentTime;

    /** 发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date consignTime;

    /** 交易完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交易完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 交易关闭时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交易关闭时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date closeTime;

    /** 物流名称 */
    @Excel(name = "物流名称")
    private String shippingName;

    /** 物流单号 */
    @Excel(name = "物流单号")
    private String shippingCode;

    /** 用户id */
    @Excel(name = "用户id")
    private String userId;

    /** 买家留言 */
    @Excel(name = "买家留言")
    private String buyerMessage;

    /** 买家昵称 */
    @Excel(name = "买家昵称")
    private String buyerNick;

    /** 买家是否已经评价 */
    @Excel(name = "买家是否已经评价")
    private String buyerRate;

    /** 收货人地区名称(省，市，县)街道 */
    @Excel(name = "收货人地区名称(省，市，县)街道")
    private String receiverAreaName;

    /** 收货人手机 */
    @Excel(name = "收货人手机")
    private String receiverMobile;

    /** 收货人邮编 */
    @Excel(name = "收货人邮编")
    private String receiverZipCode;

    /** 收货人 */
    @Excel(name = "收货人")
    private String receiver;

    /** 过期时间，定期清理 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "过期时间，定期清理", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expire;

    /** 发票类型(普通发票，电子发票，增值税发票) */
    @Excel(name = "发票类型(普通发票，电子发票，增值税发票)")
    private String invoiceType;

    /** 订单来源：1:app端，2：pc端，3：M端，4：微信端，5：手机qq端 */
    @Excel(name = "订单来源：1:app端，2：pc端，3：M端，4：微信端，5：手机qq端")
    private String sourceType;

    /** 商家ID */
    @Excel(name = "商家ID")
    private String sellerId;

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }
    public void setPayment(BigDecimal payment) 
    {
        this.payment = payment;
    }

    public BigDecimal getPayment() 
    {
        return payment;
    }
    public void setPaymentType(String paymentType) 
    {
        this.paymentType = paymentType;
    }

    public String getPaymentType() 
    {
        return paymentType;
    }
    public void setPostFee(String postFee) 
    {
        this.postFee = postFee;
    }

    public String getPostFee() 
    {
        return postFee;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setPaymentTime(Date paymentTime) 
    {
        this.paymentTime = paymentTime;
    }

    public Date getPaymentTime() 
    {
        return paymentTime;
    }
    public void setConsignTime(Date consignTime) 
    {
        this.consignTime = consignTime;
    }

    public Date getConsignTime() 
    {
        return consignTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setCloseTime(Date closeTime) 
    {
        this.closeTime = closeTime;
    }

    public Date getCloseTime() 
    {
        return closeTime;
    }
    public void setShippingName(String shippingName) 
    {
        this.shippingName = shippingName;
    }

    public String getShippingName() 
    {
        return shippingName;
    }
    public void setShippingCode(String shippingCode) 
    {
        this.shippingCode = shippingCode;
    }

    public String getShippingCode() 
    {
        return shippingCode;
    }
    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }
    public void setBuyerMessage(String buyerMessage) 
    {
        this.buyerMessage = buyerMessage;
    }

    public String getBuyerMessage() 
    {
        return buyerMessage;
    }
    public void setBuyerNick(String buyerNick) 
    {
        this.buyerNick = buyerNick;
    }

    public String getBuyerNick() 
    {
        return buyerNick;
    }
    public void setBuyerRate(String buyerRate) 
    {
        this.buyerRate = buyerRate;
    }

    public String getBuyerRate() 
    {
        return buyerRate;
    }
    public void setReceiverAreaName(String receiverAreaName) 
    {
        this.receiverAreaName = receiverAreaName;
    }

    public String getReceiverAreaName() 
    {
        return receiverAreaName;
    }
    public void setReceiverMobile(String receiverMobile) 
    {
        this.receiverMobile = receiverMobile;
    }

    public String getReceiverMobile() 
    {
        return receiverMobile;
    }
    public void setReceiverZipCode(String receiverZipCode) 
    {
        this.receiverZipCode = receiverZipCode;
    }

    public String getReceiverZipCode() 
    {
        return receiverZipCode;
    }
    public void setReceiver(String receiver) 
    {
        this.receiver = receiver;
    }

    public String getReceiver() 
    {
        return receiver;
    }
    public void setExpire(Date expire) 
    {
        this.expire = expire;
    }

    public Date getExpire() 
    {
        return expire;
    }
    public void setInvoiceType(String invoiceType) 
    {
        this.invoiceType = invoiceType;
    }

    public String getInvoiceType() 
    {
        return invoiceType;
    }
    public void setSourceType(String sourceType) 
    {
        this.sourceType = sourceType;
    }

    public String getSourceType() 
    {
        return sourceType;
    }
    public void setSellerId(String sellerId) 
    {
        this.sellerId = sellerId;
    }

    public String getSellerId() 
    {
        return sellerId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("payment", getPayment())
            .append("paymentType", getPaymentType())
            .append("postFee", getPostFee())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("paymentTime", getPaymentTime())
            .append("consignTime", getConsignTime())
            .append("endTime", getEndTime())
            .append("closeTime", getCloseTime())
            .append("shippingName", getShippingName())
            .append("shippingCode", getShippingCode())
            .append("userId", getUserId())
            .append("buyerMessage", getBuyerMessage())
            .append("buyerNick", getBuyerNick())
            .append("buyerRate", getBuyerRate())
            .append("receiverAreaName", getReceiverAreaName())
            .append("receiverMobile", getReceiverMobile())
            .append("receiverZipCode", getReceiverZipCode())
            .append("receiver", getReceiver())
            .append("expire", getExpire())
            .append("invoiceType", getInvoiceType())
            .append("sourceType", getSourceType())
            .append("sellerId", getSellerId())
            .toString();
    }
}
